function Developer(name, surname, knownLanguage) {

	Person.apply(this, arguments);

	this.knownLanguage =  knownLanguage;

}


Developer.prototype = Object.create(Person.prototype);
Developer.prototype.constructor = Developer;

function Student(name, surname, subjectOfStudy) {

	Person.apply(this, arguments);

	this.subjectOfStudy = subjectOfStudy;

}

Student.prototype = Object.create(Person.prototype);
Student.prototype.constructor = Student;



function DevStudent(name, surname, knownLanguage, subjectOfStudy) {

	Developer.call(this, name, surname, knownLanguage);

	Student.call(this, name, surname, subjectOfStudy);

}

DevStudent.prototype.writeCode = function() {
	console.log("writing code...");
	return {module: "..."};
};


var johnSmith = new DevStudent("Jan", "Kowalski", "C#", "JavaScript");

console.log(johnSmith instanceof Student);		// wynik: false
console.log(johnSmith instanceof Developer);		// wynik: false
console.log(johnSmith instanceof Person);		// wynik: false
